1. Field of the Invention
This invention relates to an apparatus and methods for processing color image data, particularly for output on color printers and also relates to programs of instructions for implementing various aspects of the processing. More particularly, the invention pertains to high performance, low memory color processing architecture and algorithms for color printers, particularly color laser printers.
2. Description of the Related Art
Laser printers, both color and black and white, are widely used as output devices in home and office computers. Such printers are particularly popular in computing environments where relatively high speed is desired. In addition to the demand for high speed, there is also a growing demand for higher quality printing. However, since these characteristics are generally inversely related, higher quality comes at the expense of slower throughput. That is, the more intensive processing required to produce a higher quality output slows the print output rate.
In conventional laser printer systems, an image processing unit accepts input from a printer driver and generates pulse wave modulated (PWM) video data to drive the laser engine. In such systems, the graphics objects are typically first rendered into 24 bits/pixel RGB data and 8 bits/pixel in an X field, where R, G and B respectively represent red, green and blue color intensities and X indicates whether the pixel is a text, graphics or image pixel. Raster operation processing (ROP) instructions are then performed in 24-bit RGB color space. The ROP codes define how the graphics device interface (GDI) combines the bits from the selected pen with the bits in the destination map. The RGBX data is then converted into CMYKX data and written to memory in compressed format. At higher output resolutions (e.g., 600 dpi and up) this processing is quite time consuming on conventional systems and tends to create a bottleneck in the processing pipeline. The post-decompression operations provided by color resolution improvement technology (CRIT) and color photo graphic improvement (CPGI), which are used to generate PWM-formatted signals also slow considerably at higher output resolutions.
It is therefore an object of the present invention to provide improvements in processing and printing color image data, particularly at higher output resolutions.
It is another object of this invention to provide high performance, high quality color laser printing with low memory requirements.
According to one aspect of this invention, a method for processing color digital data is provided. The method comprises the steps of: (a) receiving color digital data in the form of a plurality of digital elements, each digital element being represented in a first color space having a plurality of first base color components and being defined by n bits/base color component, 1xe2x89xa6n; (b) performing quantization and multi-level dithering using a pre-defined dither matrix on the received digital elements to distribute a quantization error within the spatial domain; (c) performing color matching by converting the representation of the digital elements from the first color space to a second color space having a plurality of second base color components using only a look-up table operation; and (d) adaptively filtering the color digital data based on a predetermined step size of the quantization. Step (c) may be carried out either before or after step (d).
The quantization and multi-level dithering carried out in step (b) reduces n to m, where m less than n.
The method may further comprise the steps of: compressing the received color digital data after step (b) is carried out; storing the compressed and dithered color digital data; and decompressing the stored color digital data before step (c) or (d), whichever is carried out first.
In one embodiment, the adaptive filtering of step (d) comprises applying a pre-defined filter kernel to a pre-filtered value of each digital element to generate a post-filtered value of that digital element, and accepting that digital element""s post-filtered value if the absolute difference between its pre-filtered and post-filtered values is less than the predetermined step size of the quantization, otherwise retaining its pre-filtered value.
In another embodiment, the adaptive filtering of step (d) comprises applying a pre-defined filter kernel to pre-filtered values of a neighborhood of digital elements surrounding and including a currently examined digital element to generate corresponding post-filtered values for the neighborhood of digital elements, and replacing a particular digital element""s pre-filtered value with its post-filtered value if the absolute difference between its post-filtered value and the pre-filtered value of the currently examined digital element is less than the predetermined step size of the quantization, otherwise replacing that particular digital element""s pre-filtered value with the pre-filtered value of the currently examined pixel.
In another aspect, the invention involves an apparatus for processing color digital data. The apparatus comprises an advance quantizer that receives color digital data in the form of a plurality of digital elements, each digital element being represented in a first color space having a plurality of first base color components and being defined by n bits/base color component, 1xe2x89xa6n, wherein the advance quantizer performs quantization and multi-level dithering using a pre-defined dither matrix on the received digital elements to distribute a quantization error within the spatial domain; a color matching module, in communication with the advance quantizer, that performs color matching by converting the representation of the digital elements from the first color space to a second color space having a plurality of second base color components using only a look-up table operation; and an adaptive filter, in communication with the color matching module, that filters the color digital data based on a predetermined step size of the quantization; wherein the color matching is performed either before or after the adaptive filtering.
The apparatus may further comprise a compression module that compresses color digital data output from the advance quantizer; a memory that stores the compressed and dithered color digital data; and a decompression module that decompresses the stored color digital data before color matching or adaptive filtering is performed, whichever occurs first.
The advance quantizer, the color matching module and the adaptive filter are preferably embodied in image processing unit.
The advance quantizer, the color matching module and the adaptive filter are each implemented by either software or hardware.
In accordance with further aspects of the invention, any of the above-described methods or steps thereof may be embodied in a program of instructions (e.g., software) which may be stored on, or conveyed to, a computer or other processor-controlled device for execution. Alternatively, any of the methods or steps thereof may be implemented using functionally equivalent hardware (e.g., application specific integrated circuit (ASIC), programmable logic device (PLD), or field programmable logic device (FPLD)), or a combination of software and hardware.
Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.